java - JUnit 在 JAR 中运行测试
全部标签 在Controller方法中,当向用户发送激活电子邮件时,我将用户变量activation_sent_at设置为等于Time.zone.now。在开发服务器上,这似乎可行(尽管我的应用程序中的时间表达式比我计算机的本地时间晚2小时)。我想包括一个集成测试,测试activation_sent_at是否确实设置正确。所以我包括了这一行:assert_equal@user.activation_sent_at,Time.zone.now但是,这会产生错误:NovisibledifferenceintheActiveSupport::TimeWithZone#inspectoutput.You
我无法让地理编码器正常工作,因为我的本地IP地址是127.0.0.1,所以它无法正确定位我所在的位置。request.location.ip显示“127.0.0.1”我怎样才能使用不同的ip地址(我的互联网连接ip)以便它会带来更多相关数据? 最佳答案 一种干净利落的方法是使用MiddleWare。将此类添加到您的lib目录:#lib/spoof_ip.rbclassSpoofIpdefinitialize(app,ip)@app=app@ip=ipenddefcall(env)env['HTTP_X_FORWARDED_FOR']
在处理相当大的Rails项目时,Zeus是一个很棒的工具,可以缩短Rails应用程序的加载时间并运行测试套件。但是过了一段时间后,我开始在启动zeus的所有项目中都遇到了这个问题:我做了一些研究并尝试了一些资源来解决这个错误,但都没有用。如果有人能指出解决此问题的正确方向,我将不胜感激。我在MacOSX10.8.2上谢谢 最佳答案 这两条评论实际上为我指明了正确的方向:如果ls-a显示.zeus.sock文件而不是做一个简单的删除解决问题是这样的:rm.zeus.sock 关于ruby-
我有一个带有一些基本模型的Rails应用程序。该网站显示从其他来源检索的数据。所以我需要编写一个Ruby脚本来在我的数据库中创建新实例。我知道我可以使用测试Hook来做到这一点,但我不确定这在这里是否有意义。我不确定这个任务应该是什么样子,我如何调用它,或者它应该在我的源代码树中的什么位置(lib\tasks?)。例如,这是我的第一次尝试:require'active_record'require'../app/models/mymodel.rb'test=MyModel.newtest.name='test'test.save这失败了,因为它无法连接到数据库。这对我的新手来说意义不大
我正在测试lib/pdf_helper.rb。所以我创建了spec/lib目录。然后我在spec/lib目录中创建一个文件pdf_helper_spec.rb。当我测试pdf文件夹应该在public文件夹中时,这是我的代码require'spec_helper'require'pdf_helper'describe"Pdfhelpers"doit"Shouldbeinpublicfolder"dofile=File.new("#{Rails.root}/public/pdf")ifFile.exist?(file)=='true'puts"Success"elseputs"failed
鉴于我有一条命名路线:map.some_route'/some_routes/:id',:controller=>'some',:action=>'other'如何使用路由规范文件“spec/routing/some_routing_spec.rb”来测试该命名路由?我在“describeSomeRouteController”block之后尝试过这个,但它不起作用,我得到“未定义的方法”helper:describeSomeRouteHelper,'someroutesnamedroutes'doit'shouldrecognizesome_route'dohelper.some_r
我正在创建一个接受JSON数据的API,我想为其提供测试数据。有没有类似于JSON数据工厂的东西?我希望在对象和JSON中提供相同的数据,以便我可以检查导入是否按预期工作。JSON具有严格定义的结构,所以我不能调用FactoryGirl(:record).to_json。 最佳答案 在这种情况下,我将为要导入的JSON创建夹具文件。像这样的东西可以工作:json=JSON.parse(File.read("fixtures/valid_customer.json"))customer=ImportsData.import(json)
我刚刚安装了devise,所以除了一个用户(我)之外,该表上没有任何数据。我又重新做了一遍数据库,所以我放弃了它。我使用railsgscaffold生成6个新模型和Controller,并使用rakedb:migrate在我的/db/migrate目录中,我有一个文件名为20130603211907_devise_create_users.rb的设计文件这里是问题所在:如果我执行rakedb:migrate:downVERSION=20130603211907,它将删除所有新的迁移。如何在不删除所有较新的迁移的情况下再次运行迁移? 最佳答案
使用rubyonrails3进行并发测试的最佳方法是什么?我的网站上有很多竞争条件,目前测试它们是一门不精确的科学,非常耗时。提前感谢您的任何回复。 最佳答案 我相信Tourbus可以提供帮助。 关于ruby-on-rails-如何进行RubyonRails并发测试?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6125343/
我们想设置自动化作业(通过Jenkins)以在第三方API出现故障或他们部署了不兼容的API时发出警报。我说的是针对真实的HTTPAPI进行测试,而不是模拟,但是因为我们已经使用rspec编写了模拟,所以我不确定我们是否应该通过编写两个独立的睾丸来重复这项工作。有人有这方面的经验吗?(如果其他工具可以提供帮助,我不限于Ruby/Rspec) 最佳答案 你看过VCR了吗??使用它,您可以“记录您的测试套件的HTTP交互并在未来的测试运行期间重播它们以进行快速、确定性、准确的测试”。在测试来自外部API的预期响应时,我将它与RSpec一